<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    
</body>
<script>
    // 原型链继承
//    定义父类的构造函数
    function Father(){
        this.name = 'Tom',
        this.age = 20
        this.sing =function(){
            console.log('唱歌');
        }
        console.log(this);
    }
    // let f = new Father()
    // console.log(f);

    // 定义一个子类的构造函数
    function Son(name){
        this.name = 'Jack'
    }
    console.log(Son.prototype);//  constructor
    // 把父类实例化出来的对象赋值给子类的原型
    Son.prototype = new Father()
    let son = new Son('')
   let son1 = new Son('')
    console.log(son);

    // 可以调用父类的方法
    son.sing()

    // 原型链继承     把父类实例化出来的对象赋值给 子类的prototype

</script>
</html>